// Compile:
//	/Developer/usr/bin/llvm-gcc-4.2 -x objective-c++ -arch x86_64 -fmessage-length=0 -pipe -Wno-trigraphs -fpascal-strings -fasm-blocks -O0 -Wreturn-type -Wunused-variable -isysroot /Developer/SDKs/MacOSX10.6.sdk -mfix-and-continue -fvisibility-inlines-hidden -mmacosx-version-min=10.6 -gdwarf-2 -c test.mm -o test_mm.o


//	setenv MACOSX_DEPLOYMENT_TARGET 10.6
//	/Developer/usr/bin/llvm-g++-4.2 -arch x86_64 -isysroot /Developer/SDKs/MacOSX10.6.sdk -mmacosx-version-min=10.6 -framework Foundation -o test_mm test_mm.o


// 	clang -x objective-c++ -arch x86_64 -fmessage-length=0 -pipe -Wno-trigraphs -fpascal-strings -fasm-blocks -O0 -Wreturn-type -Wunused-variable -isysroot /Developer/SDKs/MacOSX10.6.sdk -mfix-and-continue -fvisibility-inlines-hidden -mmacosx-version-min=10.6 -gdwarf-2 -c test.mm -o test_mm.o

//	setenv MACOSX_DEPLOYMENT_TARGET 10.6
//	clang++ -arch x86_64 -isysroot /Developer/SDKs/MacOSX10.6.sdk -mmacosx-version-min=10.6 -framework Foundation -o test_mm test_mm.o


#import <Foundation/Foundation.h>
//#import <Foundation/NSObject.h>
//#import "MyObjcClass.h"
//#import "smart_ptr.hpp"
//#import <iostream>


@interface MyObjcClass : NSObject {

	int data;
}

@property int Bar;

- (void) setData: (int) theData;
- (int) getData;

@end


@implementation MyObjcClass

- (void) setData: (int) theData
{
	data = theData;
}

- (int) getData
{
	return data;
}

@synthesize Bar;

@end






int main (int argc, const char * argv[]) 
{

	{
		printf("data: %d", 15);
	}
	
	{
	
		printf("data: %d", 99	);
	}
	
	{
		
		//std::cout << "hello world!" << std::endl;
		//auto f = []{ std::cout << "hello world!" << std::endl;};
		//f();
	}
	
    return 0;
}
